package ar.com.gepp.torneo.comparators;

import ar.com.gepp.torneo.entidades.impl.Equipo;
import ar.com.gepp.torneo.entidades.impl.Motor;
import ar.com.gepp.torneo.entidades.impl.Partido;
import ar.com.gepp.torneo.entidades.impl.PuntajePartido;

public class EliminatoriaClasificacionSimple {

	private Partido partido;

	public void setPartido(Partido partido) {
		this.partido = partido;
	}
	
	public Equipo getGanador() {
		if (partido.getResultado().equals(PuntajePartido.EMPATE)) {
			Equipo local = partido.getLocal();
			Equipo visitante = partido.getVisitante();
			// Valores desempate
			Integer valorLocal = 0;
			Integer valorVisitante = 0;
			// Motor
			Motor motor = new Motor();
			motor.iniciar();
			// Desempate
			while (valorLocal.equals(valorVisitante)) {
				valorLocal = motor.getValor(local.getValores());
				valorVisitante = motor.getValor(visitante.getValores());
			}
			if (valorLocal.intValue() > valorVisitante.intValue()) {
				partido.setGolLocal(partido.getGolLocal() + 1);
			} else {
				partido.setGolVisitante(partido.getGolVisitante() + 1);
			}
		}

		return partido.getGanador();
	}

}
